/* RequisicaoProduto.java
 * Criado em 28/10/2005.
 */
package br.com.werp.regras.almoxarifado.visao.decorador;

import br.com.werp.regras.almoxarifado.controle.ControleMovimentacao;
import br.com.werp.regras.geral.helpers.ProdutoEmpresaHelper;
import br.com.werp.regras.geral.helpers.ProdutoHelper;
import br.com.werp.regras.geral.util.Html;
import br.com.werp.regras.geral.vos.almoxarifado.SaidaSaida_ItemVO;
import br.com.werp.regras.geral.vos.tabelas.Produto;
import br.com.werp.regras.geral.vos.tabelas.Produto_empresa;

import org.displaytag.decorator.TableDecorator;


/**
 * @author Rafael Carneiro (<a href="mailto:rafael@portaljava.com">e-mail</a>)
 *
 */
public class RequisicaoProduto extends TableDecorator {
    public String getPrem_produto() throws Exception {
        SaidaSaida_ItemVO itemVO = (SaidaSaida_ItemVO) getCurrentRowObject();

        Produto_empresa prod_emp = ProdutoEmpresaHelper.obterProdutoEmpresa(itemVO.getSdit_produto());
        Produto produto = ProdutoHelper.obterProduto(prod_emp.getPrem_produto());

        return produto.getProd_descricao();
    }

    public String getSdit_qtde_solicitada() {
        SaidaSaida_ItemVO saida_ItemVO = (SaidaSaida_ItemVO) getCurrentRowObject();

        int qtde = saida_ItemVO.getSdit_qtde_solicitada();

        return Html.center(Html.inputType("text", 6, 20, "sdit_qtde_solicitada",
                saida_ItemVO.getId(), "baseField", qtde));
    }

    public String getId() {
        SaidaSaida_ItemVO saidaSaida_ItemVO = (SaidaSaida_ItemVO) getCurrentRowObject();

        return Html.center(Html.checkBox("produtos", saidaSaida_ItemVO.getId()));
    }

    public String getDiponivel() {
        SaidaSaida_ItemVO saidaSaida_ItemVO = (SaidaSaida_ItemVO) getCurrentRowObject();
        ControleMovimentacao controleMovimentacao = new ControleMovimentacao();
        Produto_empresa produto_empresa = new Produto_empresa();
        produto_empresa.setPrem_id(saidaSaida_ItemVO.getSdit_produto());

        try {
            return Html.center(controleMovimentacao.obterQtdeProduto(
                    produto_empresa));
        } catch (Exception e) {
            return e.getMessage();
        }
    }

    public String getSaid_status() {
        SaidaSaida_ItemVO saida_ItemVO = (SaidaSaida_ItemVO) getCurrentRowObject();

        if ("A".equals(saida_ItemVO.getSaid_status())) {
            return "Atendido";
        }
        else if ("C".equals(saida_ItemVO.getSaid_status())) {
            return "Cancelado";
        }
        else {
            return "Pendente";
        }
    }
}
